const { get } = require('lodash');
const { logger } = require('../misc/logger');

module.exports = function (err, req, res, next) {
	logger.error('error handle middleware: ', err);
	if (res.headersSent) {
		return next(err);
	}

	if (process.env.NODE_DEBUG) {
		console.dir(err, { depth: null });
	};

	const e = {
		errCode: err.code || 1,
		errMsg: 'Server Internal Error'
	};

	e.errMsg = get(err, 'message', e.errMsg);

	res.send(e);
}
